package com.alks.function.service.web.statements;

import com.alks.entity.data.entity.StatementsInvoice;
import com.alks.entity.data.response.ResponseInfo;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Date;

public interface StatementsService {
    ResponseInfo dHFinanceCreditDetail(String invoiceNo, Date startDate, Date endDate,Integer pageNum,Integer pageSize);

    void downloadDhFinanceCreditDetail(HttpServletResponse response,StatementsInvoice result) throws IOException;

    ResponseInfo getDhFinanceDetail(StatementsInvoice result);

    ResponseInfo getStitchMonthProd(String month,String prodSeq);

    ResponseInfo getCurrentMonth(String workerId, String month,String choose,String prodStep);

    ResponseInfo getOtherMonthProd(String month, String prodSeq);

    ResponseInfo prodMonthProd(String month);

    ResponseInfo prodMonthProdDetail(String month, String prodSeq);

    ResponseInfo prodDayProd(Date startDate, Date endDate,String prodSeq);

    ResponseInfo prodDayProdByYear(String year);

    ResponseInfo prodDayProdByBrand(String month);

    ResponseInfo prodDayProdByBrandDetail(String month, String prodSeq);

    ResponseInfo getDhReceiptHead(String receiptNo, Date startTime, Date endTime, String custom, Integer pageNum, Integer pageSize);

    ResponseInfo getDhReceiptDetail(String receiptNo);

    void downloadDhReceiptHead(HttpServletResponse response, String receiptNo, Date startTime, Date endTime, String custom) throws IOException;

    void downloadDhReceiptDetail(HttpServletResponse response, String receiptNo) throws IOException;

    ResponseInfo analysisByBrand(String brand);

    ResponseInfo getUnfinishedByBrand(String brand, String season, String prodSeq, String month);

    ResponseInfo getCompletedByMonth(Date startDate, Date endDate);

    ResponseInfo getWeekPlan(Date startDate, Date endDate, String choose, Integer pageNum, Integer pageSize);

    ResponseInfo getDayPlan(Date day,String choose);
}
